package com.xydtech.ecard.ecard.service;

import com.xydtech.ecard.ecard.domain.EcardApiPersonInfo;

import java.util.List;

/**
 * 电子名片个人信息Service接口
 *
 * @author yuzhiguo
 * @date 2024-08-26 下午2:41
 */
public interface IEcardApiPersonInfoService {

    /**
     * 唯一值验证，相同个人客户类型类型、支行、个人客户姓名不能重复
     * @param ecardPersonInfo
     * @return
     */
    int validatePersonInfo(EcardApiPersonInfo ecardPersonInfo);

    /**
     * 查询电子名片个人信息
     * @param id
     * @return
     */
    EcardApiPersonInfo selectEcardPersonInfoById(Long id, String salt);

    /**
     * 保存电子名片个人信息
     * @param ecardPersonInfo
     * @return
     */
    int addPersonInfo(EcardApiPersonInfo ecardPersonInfo, String salt);

    /**
     * 查询电子名片个人信息列表
     * @param ecardPersonInfo
     * @return
     */
    List<EcardApiPersonInfo> getMyPersonList(EcardApiPersonInfo ecardPersonInfo, String salt);

    /**
     * 查询电子名片个人信息列表
     * @param ecardPersonInfo
     * @return
     */
    List<EcardApiPersonInfo> getPersonList(EcardApiPersonInfo ecardPersonInfo, String salt);

    /**
     * 查询个人地图坐标列表接口
     * @param creatorId
     * @param deptId
     * @param perType
     * @return
     */
    List<EcardApiPersonInfo> getPersonCoordinateList(Long creatorId, Long deptId, Integer perType);

    /**
     * 根据法人机构ID查询机构下所有个人坐标信息列表
     * @param deptId
     * @param perType
     * @return
     */
    List<EcardApiPersonInfo> getAllPersonCoordinateList(Long creatorId, Long deptId, Integer perType);

    /**
     * 根据ID修改个人状态
     * @param id
     * @return
     */
    int changePersonStatus(Long id);
}
